package com.hl.qzzpbackend.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hl.qzzpbackend.common.DeleteRequest;
import com.hl.qzzpbackend.model.dto.positionType.PositionTypeAddRequest;
import com.hl.qzzpbackend.model.dto.positionType.PositionTypeQueryRequest;
import com.hl.qzzpbackend.model.dto.positionType.PositionTypeUpdateRequest;
import com.hl.qzzpbackend.model.entity.PositionType;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hl.qzzpbackend.model.vo.PositionTypeVO;

import javax.validation.Valid;

/**
 * 岗位类型 业务层
 *
 * @author helong
 */
public interface PositionTypeService extends IService<PositionType> {

    /**
     * 添加岗位类型
     * @param positionTypeAddRequest 添加岗位类型请求类
     * @return 是否成功
     */
    boolean positionTypeAdd(PositionTypeAddRequest positionTypeAddRequest);

    /**
     * 修改岗位类型
     * @param positionTypeUpdateRequest 修改岗位类型请求类
     * @return 是否成功
     */
    boolean positionTypeUpdate(PositionTypeUpdateRequest positionTypeUpdateRequest);

    /**
     * 删除岗位类型
     * @param deleteRequest 删除请求类
     * @return 是否成功
     */
    boolean positionTypeDelete(DeleteRequest deleteRequest);

    /**
     * 分页查询岗位类型
     * @param positionTypeQueryRequest 查询请求类
     * @return 岗位类型分页
     */
    Page<PositionTypeVO> getPositionTypePage(PositionTypeQueryRequest positionTypeQueryRequest);
}
